#pragma once
#include "ckLandsat.h"
#include <vector>

namespace ck
{
	namespace data
	{
		class ZCORE_API Landsat05 : public Landsat
		{
		public:
			Landsat05();
			virtual ~Landsat05();

		public:
			static const char*		LS05_BAND_KEYS[];
			static const char*		LS05_FILE_KEYS[];			
			static bool				IsMe(const char* szName);

		public:
			virtual	RESULTCODE		Open();
			virtual Schema*			GetSchema();
			virtual LandsatMeta*	GetMetaData();
			virtual LandsatRawMeta*	GetRawMetaData();

			virtual Raster*			GetRaster(z_uint32 i);
			virtual RasterBand*		GetBand(z_uint32 i);
			virtual RasterBand*		GetBandByKey(const char* szKey);

			virtual const char*		GetBandKey(z_uint32 i);

			virtual Raster*			OpenRaster(z_uint32 i);

			virtual EnumString*		GetFileNames();

		public:
			virtual	bool			FindFile(const char* szFName);

			//////////////////////////////////////////////////////////////////////////
			virtual ckDatasetType	GetType();

		public:
			virtual double			ComputeCloudCoverage();
						
		};
	}
}

